CTF刷题记录(一) |
您所在的位置:网站首页 › ctf 逆向题 入门 › CTF刷题记录(一) |
1.2023陕西省赛---test
考点: GO代码编写 反弹shell 步骤: 打开题目 注册进入 没啥信息,查看页面源码发现可以路由 尝试访问/profile/admin,发现信息泄露 把密码拿去md5解密得到 登录 根据提示上传go文件程序会自动执行 编写反弹shell的Go代码,文件命名为hack.go (来源:官方wp) 在页面HTML编辑标签 写入文件上传的HTML代码
上传编写的hack.go,服务器监听,反弹至服务器。 2.2023陕西省赛--ezpop考点: CSS属性、PHP反序列化构造 打开题目 访问题目发现要求 Click Me,但是点不动,尝试F12,右键和 Ctrl+U 发现均会关闭页面,在地址栏F12,成功,查看app.eceb0255.js,发现可疑编码 base64解码得到/pop3ZTgMw.php,访问 构造pop链子: unserialize() 会去调用 night 类的 __destruct() 方法,由于方法中的 echo $this->night . '哒咩哟'; 把这个对象当成了字符串,所以调用了 day 类的 __toString() 方法,然后再调用 dark 类里的 go() 方法,然后在 go() 方法里把这个对象当成了方法使用,所以就去调用了 light 类的 __invoke 方法,又因为在 __invoke 方法里再次调用了一个不存在的 d() 方法,接着就会去调用 day 类里的 __call 方法,最后去调用 dark 类里的 getFlag() 方法。 编写exp: 输出结果:O:5:"night":1:{s:5:"night";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";O:5:"light":1:{s:5:"light";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";s:49:"php://filter/convert.base64-encode/resource=/flag";}}}}}} 注意:传参有不可见字符,整个复制 然后使用burp传参 ,同时要绕过exception,把night的类内数量由1改为2,改完之后 O:5:"night":2:{s:5:"night";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";O:5:"light":1:{s:5:"light";O:3:"day":1:{s:3:"day";O:4:"dark":1:{s:4:"dark";s:49:"php://filter/convert.base64-encode/resource=/flag";}}}}}},传参 把结果拿去base64解码即可 官方绕过: 3.2023陕西省赛--ezrce 考点: 无参rce 打开题目 传入key得到源码 注意到 preg_replace函数启用/e模式: 用于指定替换字符串中的代码应该被解释为PHP代码 这里就是利用点
简单构造,有过滤,不行 尝试无参函数rce 也被过滤了很多函数 经过尝试 还可以
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |